package com.os.ops;

import com.os.result.Resp;
import org.springframework.core.io.InputStreamResource;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.io.InputStream;

/**
 * @author 风亦未止
 * @date 2023/5/4 16:59
 */
public interface Ops {

    /**
     * put
     * @param file
     * @return
     */
    boolean putObj(MultipartFile file);

    /**
     * 根据流传输
     * @param inputStream
     * @return
     */
    boolean putStream(InputStream inputStream,String objName, String hash, int size);

    /**
     * get
     * @param name
     * @return
     */
    InputStream getObj(String name);

    /**
     * 删除对象
     * @param name
     * @return
     */
    boolean delObj(String name);


    /**
     *  get
     * @param name
     * @param version 版本
     * @return
     */
    InputStream getObjByVersion(String name, Integer version);

    /**
     * 获取对象所有版本信息
     * @param name
     * @return
     */
    Resp getAllVersion(String name);
}
